package com.yeqian.mapper;

import com.github.pagehelper.Page;
import com.yeqian.pojo.Comment;
import io.swagger.models.auth.In;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

/**
 * @Author : yeqian
 * @Date : 2021/1/7 21:33
 * 评论数据库访问层
 */
public interface CommentMapper extends Mapper<Comment> {

    /**
     * 获取每月的评论数
     *
     * @param date
     * @return java.lang.Integer
     * @author yeqian
     * @date 2021/1/17 12:19
     */
    Integer getCommentCountByMonth(String date);

    /**
     * 查看所有的评论数
     *
     * @param authorId
     * @return java.lang.Integer
     * @author yeqian
     * @date 2021/1/10 10:31
     */
    Integer getCommentCount(Integer authorId);

    /**
     * 查询未读评论
     *
     * @param author
     * @return java.lang.Integer
     * @author yeqian
     * @date 2021/1/9 11:48
     */
    Integer getUnreadByauthor(Integer author);

    /**
     * 展示文章对应的评论的回复
     *
     * @param commentId
     * @return java.util.List<com.yeqian.pojo.Comment>
     * @author yeqian
     * @date 2021/1/8 17:20
     */
    List<Comment> getCommentReplyByCommentId(Integer commentId);

    /**
     * 更改状态为已读
     *
     * @param id
     * @return void
     * @author yeqian
     * @date 2021/1/8 16:17
     */
    void updateCommentStatus(Integer id);

    /**
     * 根据文章id查询对应的所有评论
     *
     * @param id
     * @return java.util.List<com.yeqian.pojo.Comment>
     * @author yeqian
     * @date 2021/1/8 14:01
     */
    List<Comment> getCommentByArticleId(Integer id);

    /**
     * 评论对应的文章
     *
     * @param articleId
     * @return java.lang.String
     * @author yeqian
     * @date 2021/1/8 12:05
     */
    String getArticleNameById(Integer articleId);

    /**
     * 查询评论
     *
     * @param id
     * @return com.yeqian.pojo.Comment
     * @author yeqian
     * @date 2021/1/7 22:50
     */
    Comment getComment(Integer id);

    /**
     * 评论分页
     *
     * @param queryString
     * @return com.github.pagehelper.Page<com.yeqian.pojo.Comment>
     * @author yeqian
     * @date 2021/1/7 22:25
     */
    Page<Comment> getAllConmmentByPage(String queryString);

    /**
     * 添加评论
     *
     * @param comment
     * @return void
     * @author yeqian
     * @date 2021/1/7 21:36
     */
    void saveComment(Comment comment);
}
